home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / 3MINCPY.ARC / C35 8 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  1.8 KB  |  94 lines

  1. 10 LDA #$01;READ AN ERROR SET FLAG
  2. 20 STA ERFLG
  3. 30 SEI
  4. 40 BACK RTS
  5. 50 ASCII PHA;CONVERT TRACK AND SECTOR #'S FOR ERROR
  6. 60 LSR
  7. 70 LSR
  8. 80 LSR
  9. 90 LSR
  10. 100 SED
  11. 110 TAX
  12. 120 BEQ J6
  13. 130 CLC
  14. 140 LDA #$00
  15. 150 J7 ADC #$16
  16. 160 DEX
  17. 170 BNE J7
  18. 180 J6 STA BITBYTE
  19. 190 CLD
  20. 200 PLA
  21. 210 AND #$0F
  22. 220 CMP #$0A
  23. 230 BCC J8
  24. 240 ADC #$05
  25. 250 J8 SED
  26. 260 ADC BITBYTE
  27. 270 CLD
  28. 280 PHA
  29. 290 LSR:LSR:LSR:LSR
  30. 300 ORA #$30
  31. 310 TAX
  32. 320 PLA
  33. 330 AND #$0F
  34. 340 ORA #$30
  35. 350 TAY
  36. 360 RTS
  37. 361 ;BIT MAP $DD00
  38. 362 ;BIT 0 = VIC 2 MEMORY BANK
  39. 363 ;BIT 1 = VIC 2 MEMORY BANK
  40. 364 ;BIT 2 = RS 232 DATA OUT
  41. 365 ;BIT 3 = SERIAL BUS ATTENTION OUT
  42. 366 ;BIT 4 = CLOCK PULSE OUT
  43. 367 ;BIT 5 = SERIAL BUS DATA OUT
  44. 368 ;BIT 6 = CLOCK PULSE IN
  45. 369 ;BIT 7 = SERIAL BUS DATA IN
  46. 370 READ LDA #$0B;SET ATTENTION SIGNAL
  47. 380 STA DATAPRT
  48. 390 L4 LDA DATAPRT
  49. 400 BPL L4;IF BIT 7 = 0 NO DATA
  50. 410 LDA #$03
  51. 420 STA DATAPRT;CLEAR SERIAL PORT
  52. 430 LDX #$05
  53. 440 L5 DEX
  54. 450 NOP
  55. 460 BNE L5
  56. 470 LDX #$04;READ DATA PORT FOUR TIMES
  57. 480 MRBITS LDA DATAPRT;BITS 6 & 7 HOLD READ DATA
  58. 490 ASL;PUSH 0 IN BIT 0 PUSH BIT 7 INTO C FLAG
  59. 500 PHP;SAVE THE DATA BIT IN THE C FLAG
  60. 510 ASL;PUSH 0 IN BIT 0 PUSH BIT 6 INTO C FLAG
  61. 520 ROL BITBYTE;PUSH BIT IN C FLAG INTO BIT 0 OF $06
  62. 530 PLP;GET THE DATA BIT SAVED
  63. 540 ROL BITBYTE;PUSH THE DATA BIT INTO $06
  64. 550 DEX
  65. 551 ;AFTER ONE LOOP $06 LOOKS LIKE THIS XXXXXXCD C = CLOCK PULSE D = DATA BIT
  66. 552 ;AFTER 2 LOOPS $06 LOOKS LIKE THIS  XXXXCDCD ETC
  67. 560 BNE MRBITS
  68. 570 LDA BITBYTE;EXAMPLE 11000101
  69. 580 EOR #$FF;FLIPED 00111010 = DATA BYTE
  70. 590 RTS;(null) BACK STORE BYTE @ $1700,Y
  71. 600 WRITE STA BITBYTE;WRITE ROUTINE WORKS BACKWARDS
  72. 610 LDA #$0B;FROM READ ROUTINE BITS MOVE RIGHT
  73. 620 STA DATAPRT;INSTEAD OF LEFT AS IN READ
  74. 630 J9 LDA DATAPRT
  75. 640 BPL J9
  76. 650 LDA #$03
  77. 660 STA DATAPRT
  78. 670 LDX #$04
  79. 680 MRBITS1 LDA #$03
  80. 690 LSR BITBYTE
  81. 700 ROR
  82. 710 LSR BITBYTE
  83. 720 ROR
  84. 730 LSR:LSR
  85. 740 NOP
  86. 750 STA DATAPRT
  87. 760 DEX
  88. 770 BNE MRBITS1
  89. 780 LDX #$01
  90. 790 J10 DEX
  91. 800 BNE J10
  92. 810 RTS
  93. 830 .FILE C35 9
  94.